home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / Falcon / CENTEK / CENTSCRN / DEV / ASM / GEM.EQU < prev    next >
Encoding:
Text File  |  1998-09-28  |  4.0 KB  |  202 lines

  1. ***************************************************************************
  2.  
  3.         ****************
  4.         * Header du système (TOS&DOLMEN)
  5.  
  6.         RSRESET
  7.  
  8. sys_hissp        rs.w    1        ;poids fort de la pile
  9. sys_version    rs.w    1        ;numéro de version de l'OS
  10.                     ;&poids faible de la pile
  11. sys_reset        rs.l    1        ;pointeur sur le début du
  12.                     ;code du boot
  13. sys_os_start    rs.l    1        ;pointeur sur le début du
  14.                     ;système
  15. sys_os_end    rs.l    1        ;pointeur sur la fin des vars
  16.                     ;du système (avant la TPA)
  17. sys_shell        rs.l    1        ;Pointeur sur le SHELL
  18. sys_gem_magic    rs.l    1        ;Adresse MAGIC (pointe sur
  19.                     ; $87654321,os_end,os_exec)
  20.                     ;pour TOS
  21.                     ;ou valeur magique ($CAFEFADE)
  22.                     ;pour Dolmen
  23. sys_date        rs.l    1        ;date du système
  24. sys_pal        rs.w    1        ;flag langue
  25. sys_sys_date    rs.w    1        ;date au format GEMDOS
  26.     
  27. sys_root        rs.l    1        ;Pointeur sur le Pool GEMDOS
  28. sys_kbshift    rs.l    1        ;pointeur sur les touches mortes (TOS)
  29. sys_run        rs.l    1        ;pointeur sur la basepage en cours
  30. sys_sysvars    rs.l    1        ;offset aux variables DOLMEN 
  31.                     ;ou nul sous TOS
  32. sys_header    rs.l    0        ;offset du header
  33.  
  34.         ****************
  35.         * Flags pour la ligne de command:
  36.         * COMMENT HEAD=xx+xx+xx
  37.         
  38. FastLoad        equ    %001
  39. FastPrg        equ    %010
  40. FastMem        equ    %100
  41.  
  42.         ****************
  43.         * header de programme
  44.         RSRESET
  45.         
  46. prg_header    rs.w    1
  47. prg_text        rs.l    1
  48. prg_data        rs.l    1
  49. prg_bss        rs.l    1
  50. prg_symbol    rs.l    1
  51. prg_resvd        rs.b    10
  52.  
  53.         ****************
  54.         * Structure d'une basepage
  55.         RSRESET
  56. p_lowtpa        rs.l    1
  57. p_hitpa        rs.l    1
  58. p_tbase        rs.l    1
  59. p_tlen        rs.l    1
  60. p_dbase        rs.l    1
  61. p_dlen        rs.l    1
  62. p_bbase        rs.l    1
  63. p_blen        rs.l    1
  64. p_dta        rs.l    1
  65. p_parent        rs.l    1
  66.  
  67.         rs.l    1
  68.  
  69. p_env        rs.l    1
  70.  
  71. hdl_stdin        rs.b    1
  72. hdl_stdout    rs.b    1
  73. hdl_aux        rs.b    1
  74. hdl_prn        rs.b    1
  75.         rs.b    3
  76.         
  77. ddrive        rs.b    1
  78.         rs.b    8
  79.  
  80. uu        rs.b    40
  81.  
  82. save_d0        rs.l    1
  83. save_a3        rs.l    1
  84. save_a4        rs.l    1
  85. save_a5        rs.l    1
  86. save_a6        rs.l    1
  87. save_a7        rs.l    1
  88. cmdcnt        rs.b    1
  89. cmdlin        rs.b    127
  90.  
  91. basepage_len    rs.l    0    ;256 bytes
  92.  
  93.         ****************
  94.         * Liste des erreurs GEMDOS
  95.  
  96. EINVFN        equ    -32    ;invalid function
  97. EFILNF        equ    -33    ;file not found
  98. EPTHNF        equ    -34    ;path not found
  99. ENHNDL        equ    -35    ;no more handles
  100. EACCDN        equ    -36    ;access denied
  101. EIHNDL        equ    -37    ;invalid handle
  102. ENSMEM        equ    -39    ;insufficient memory
  103. EIMBA        equ    -40    ;invalid memory block address
  104. EDRIVE        equ    -46    ;invalid drive specification
  105. EXDEV        equ    -48    ;cross device rename
  106. ENMFIL        equ    -49    ;no more files (from Fsnext)
  107. ELOCKED        equ    -58    ;record is locked already
  108. ENSLOCK        equ    -59    ;invalid lock removal request
  109. ERANGE        equ    -64    ;range error
  110. ENAMETOOLONG    equ    -64    ;a filename component is too long
  111. EINTRN        equ    -65    ;internal error
  112. EPLFMT        equ    -66    ;invalid program load format
  113. ENOEXEC        equ    -66    ;idem
  114. EGSBF        equ    -67    ;memory block growth failure
  115. ELOOP        equ    -80    ;too many symbolic links
  116.  
  117.         ****************
  118.  
  119. Pterm0        EQU    $0000
  120. Cconin        EQU    $0102
  121. Cconout        EQU    $0204
  122. Cauxin        EQU    $0302
  123. Cauxout        EQU    $0404
  124.  
  125. Cprnout        EQU    $0504
  126. Crawio        EQU    $0604
  127. Crawcin        EQU    $0702
  128. Cnecin        EQU    $0802
  129.  
  130. Cconws        EQU    $0906
  131. Cconrs        EQU    $0A06
  132. Cconis        EQU    $0B02
  133. Dsetdrv        EQU    $0E04
  134. Cconos        EQU    $1002
  135. Cprnos        EQU    $1102
  136. Cauxis        EQU    $1202
  137. Cauxos        EQU    $1302
  138.  
  139. Maddalt        EQU    $140a
  140. Srealloc        EQU    $1506
  141.  
  142. Dgetdrv        EQU    $1902
  143.  
  144. Fsetdta        EQU    $1A06
  145. Super        EQU    $2006
  146. Tgetdate        EQU    $2A02
  147. Tsetdate        EQU    $2B04
  148. Tgettime        EQU    $2C02
  149. Tsettime        EQU    $2D04
  150.  
  151. Fgetdta        EQU    $2F02
  152. Sversion        EQU    $3002
  153. Ptermres        EQU    $3100
  154.  
  155. Dfree        EQU    $3608
  156. Dcreate        EQU    $3906
  157. Ddelete        EQU    $3A06
  158. Dsetpath        EQU    $3B06
  159. Fcreate        EQU    $3C08
  160. Fopen        EQU    $3D08
  161. Fclose        EQU    $3E04
  162. Fread        EQU    $3F0c
  163.  
  164. Fwrite        EQU    $400c
  165. Fdelete        EQU    $4106
  166. Fseek        EQU    $420a
  167. Fattrib        EQU    $430a
  168.  
  169. Mxalloc        EQU    $4408
  170.  
  171. Fdup        EQU    $4504
  172. Fforce        EQU    $4606
  173. Dgetpath        EQU    $4708
  174. Malloc        EQU    $4806
  175. Mfree        EQU    $4906
  176.  
  177. Mshrink        EQU    $4A0c
  178. Pexec        EQU    $4B10
  179. Pterm        EQU    $4C00
  180.  
  181. Fsfirst        EQU    $4E08
  182. Fsnext        EQU    $4F02
  183. Frename        EQU    $560c
  184. Fdatime        EQU    $570a
  185. Flock        EQU    $5c12
  186.  
  187.  
  188.         ****************
  189.  
  190. GEM:        MACRO
  191.  
  192.         move    #\1>>8,-(sp)
  193.         trap    #1
  194.         
  195.         add    #\1&$ff,sp    
  196.         
  197.         ENDM
  198.         
  199.         ****************
  200.  
  201. ***************************************************************************
  202.